Image acquisition using cloud services

ABSTRACT

Apparatus having corresponding methods and computer-readable media comprise: a controller configured to generate a cloud scan request, wherein the cloud scan request represents a request to scan a document using cloud services; a transmitter configured to transmit the cloud scan request to a cloud print service; and a receiver configured to receive an image file from a cloud document service, wherein the file includes an image of the document.

CROSS-REFERENCE TO RELATED APPLICATIONS

This disclosure claims the benefit of U.S. Provisional Patent Application Ser. No. 61/405,058, filed on Oct. 20, 2010, the disclosure thereof incorporated by reference herein in its entirety.

FIELD

The present disclosure relates generally to the field of acquisition of electronic images of documents, photos, and the like. More particularly, the present disclosure relates to acquisition of such images using cloud services.

BACKGROUND

Many new computing paradigms rely on cloud computing, that is, using on-demand computer resources and services that are provided over a computer network rather than by a locally-connected device. Cloud services can be completely offsite, or in some cases, can be provided by local computing or peripheral devices.

Solutions have been devised for cloud-based file storage, document creation and editing, application execution, and even printing. However, cloud-based services have not yet been extended to the field of image acquisition, for example for scanning documents, photos, and the like.

SUMMARY

In general, in one aspect, an embodiment features an apparatus comprising: a controller configured to generate a cloud scan request, wherein the cloud scan request represents a request to scan a document using cloud services; a transmitter configured to transmit the cloud scan request to a cloud print service; and a receiver configured to receive an image file from a cloud document service, wherein the file includes an image of the document.

In general, in one aspect, an embodiment features a method comprising: generating a cloud scan request responsive to a user request, wherein the cloud scan request represents a request to scan a document using cloud services; transmitting the cloud scan request to a cloud print service; and receiving an image file from a cloud document service, wherein the image file includes an image of the document.

In general, in one aspect, an embodiment features computer-readable media embodying instructions executable by a computer to perform functions comprising: generating a cloud scan request responsive to a user request, wherein the cloud scan request represents a request to scan a document using cloud services; transmitting the cloud scan request to a cloud print service; and receiving an image file from a cloud document service, wherein the image file includes a scan of the document.

The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 shows elements of a cloud scanning system that includes a network scanner according to one embodiment.

FIG. 2 shows elements of a user device according to one embodiment.

FIG. 3 shows elements of a cloud scan request according to one embodiment.

FIG. 4 shows detail of an image file according to one embodiment.

FIG. 5 shows elements of a file request according to one embodiment.

FIG. 6 shows a process for the cloud scanning system of FIG. 1 according to one embodiment.

FIG. 7 shows elements of a cloud scanning system that includes a legacy scanner and print proxy according to one embodiment.

FIG. 8 shows a process for the cloud scanning system of FIG. 7 according to one embodiment.

The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears.

DETAILED DESCRIPTION

Embodiments of the present disclosure provide cloud scanning, that is, the utilization of cloud services to facilitate acquisition of an electronic image of a document. As used herein, the term “document” is used to refer to any item that can be scanned by a scanner. Cloud scanning allows scanning from any resource connected to the cloud, including local resources such as a local office scanner, as well as remote resources such as a user's home scanner while the user is traveling on another continent.

FIG. 1 shows elements of a cloud scanning system 100 that includes a network scanner according to one embodiment. Referring to FIG. 1, cloud scanning system 100 includes a user device 102 operated by a user 104, a cloud print service 106, a network scanner 108, and a cloud document service 110. User device 102 can be any device capable of the respective functions described herein, for example such as a computer, smartphone, and the like. A cloud print service is a service that enables an application on a device in a network cloud to print to a printer in the network cloud. Cloud print service 106 can be any cloud print service capable of the respective functions described herein, for example such as the Google Cloud Print service and the like. Network scanner 108 can be any device capable of the respective functions described herein, for example such as commercially-available network scanners, multi-function network printers, and the like. A cloud document service is a service that enables an application on a device in a network cloud to transfer files such as document files to and from a storage device in the network cloud. Cloud document service 110 can be any cloud document service capable of the respective functions described herein, for example such as such as the Google Docs service and the like. The elements of cloud scanning system 100 can communicate by any means, for example including networks such as the Internet and the like.

FIG. 2 shows elements of a user device 102 according to one embodiment.

Referring to FIG. 2, user device 102 includes a controller 202, a user interface 204, and a network interface 206. Controller 202 can be implemented as a processor or the like. User interface 204 includes one or more input devices 208 such as touchscreens, trackballs, mice, rocker switches, buttons, and the like, and one or more display devices 210 such as screens, touchscreens, projectors and the like. Network interface 206 includes a transmitter 212 and a receiver 214. Network interface 206 can be wired, wireless, optical, or the like. In the case of a wireless network, network interface 206 can be compliant with all or part of IEEE standard 802.11, including draft and approved amendments such as 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, 802.11k, 802.11n, 802.11v, 802.11w, and 802.11z.

Now an example cloud scanning operation for cloud scanning system 100 of

FIG. 1 is described according to one embodiment. User 104 employs user device 102 to send a cloud scan request 112 to cloud print service 106. In particular, user 104 employs input device(s) 208 to input a user scan request 114 to user device 102. In response, controller 202 generates a cloud scan request 116, and transmitter 212 transmits request 116 to cloud print service 106. In response, cloud print service 106 forwards request 116 to network scanner 108.

FIG. 3 shows elements of a cloud scan request 116 according to one embodiment. Referring to FIG. 3, cloud scan request 116 includes a print job 302, a device ID 308 that identifies network scanner 108, and a request 312 to transmit the resulting image file 118 to cloud document service 110. Print job 302 includes a print job title 314 and an instruction file 304 containing instructions 306 for scanning one or more documents. Instructions 306 include a file name 310 to be assigned to resulting image file 118, as well as other scanning instructions 318 such as the desired scan resolution, the color mode, and the like. Print job title 314 includes one or more tokens 316 that indicate print job 302 is actually a scan job 302. Device ID 308 can include a network address or the like for network scanner 108.

FIG. 4 shows detail of image file 118 according to one embodiment. Referring to FIG. 4, image file 118 includes one or more images 124 of the scanned document. Images 124 can be in any format. The format of images 124 can be specified by cloud scan request 116.

Referring again to FIG. 1, in response to cloud scan request 116, network scanner 108 scans one or more documents and transmits the resulting image file 118 to cloud document service 110. Network scanner 108 also provides status 120 of the scan job 302 to cloud print service 106, which forwards status 120 to user device 102. Referring to FIG. 2, receiver 214 of network interface 206 receives status 120. When status 120 indicates scan job 302 is done, user device 102 issues a file request 122 to cloud document service 110. In particular, controller 202 generates file request 122, for example in response to input from user 104, and transmitter 212 transmits request 122 to cloud document service 110.

FIG. 5 shows elements of a file request 122 according to one embodiment.

Referring to FIG. 5, file request 122 includes the same file name 310 used in cloud scan request 116. Referring again to FIG. 1, in response to file request 122, cloud document service 110 transmits image file 118 to user device 102, which can display image(s) 124 to user 104. In particular, receiver 214 of network interface 206 receives image file 118, and display device(s) 210 display image(s) 124 to user 104.

FIG. 6 shows a process for cloud scanning system 100 of FIG. 1 according to one embodiment. Although in the described embodiments the elements of the process are presented in one arrangement, other embodiments may feature other arrangements. For example, in various embodiments, some or all of the elements of the process can be executed in a different order, concurrently, and the like.

Referring to FIG. 6, user 104 employs user device 102 to select a scan operation at 602. In response, an application executing on controller 202 of user device 102 gets a list of available scanners 108 registered for user 104 from cloud print service 106 at 604. The application determines which of the scanners 108 are capable of scanning, and displays a list of those scanners 108 to user 104 at 606. User 104 employs user device 102 to select a network scanner 108 from the list at 608. In response, user device 102 formats print job 302 at 610, and submits print job 302 to cloud print service 106 at 612.

Network scanner 108 polls for new print jobs 302 by fetching a list of print jobs 302 from cloud print service 106 at 614. When the list includes a new print job 302 for network scanner 108, network scanner 108 gets the new print job 302 from cloud print service 106 at 616. At 618, network scanner 108 determines that the print job 302 is a scan job 302 using the token(s) 316 in the print job title 314. Network scanner 108 scans the document according to instructions 306 at 620, places the resulting image(s) 124 in an image file 118, assigns file name 310 to the image file 118, and sends the image file 118 to cloud document service 110 at 622. At 624 network scanner 108 sends status 120 to cloud print service 106 indicating that the scan job 302 is done.

User device 102 polls cloud print service 106 to obtain status 120. In response to the status 120 indicating that the scan job 302 is done, user device 102 gets image file 118 from cloud document service 110 using file name 310 at 628, and displays image(s) 124 to user 104 at 630.

FIG. 7 shows elements of a cloud scanning system 700 that includes a legacy scanner and print proxy according to one embodiment. Referring to FIG. 7, cloud scanning system 700 includes a legacy scanner 708 and a print proxy 712. A legacy scanner 708 is a scanner that requires a print proxy 712 to operate with a network. A print proxy 712 is a software component, running on local computing resources, that enables legacy scanners, printers, multi-function printers, and the like, to operate with a network. Legacy scanner 708 can be any device capable of the respective functions described herein, for example such as commercially-available scanners, multi-function printers, and the like. The remaining elements of cloud scanning system 700, namely user device 102, cloud print service 106, and cloud document service 110, can be implemented and operated as described above.

Now an example cloud scanning operation for cloud scanning system 700 of

FIG. 7 is described according to one embodiment. User 104 employs user device 102 to send a cloud scan request 112 to cloud print service 106. In particular, user 104 employs input device(s) 208 to input a user scan request 114 to user device 102. In response, controller 202 generates a cloud scan request 116, and transmitter 212 transmits request 116 to cloud print service 106. In response, cloud print service 106 forwards request 116 to print proxy 712. Print proxy generates a legacy scan request 714 responsive to cloud scan request 116, and sends request 714 to legacy scanner 708. Legacy scan request 714 can be implemented as a conventional scan request such as a scan request sent by a personal computer to a local scanner or the like.

In response to legacy scan request 714, legacy scanner 708 scans the one or more documents and transmits the resulting image file 118 to print proxy 712, which forwards image file 118 to cloud document service 110. Print proxy 712 also provides status 120 of the scan job 302 to cloud print service 106, which forwards status 120 to user device 102. Referring to FIG. 2, receiver 214 of network interface 206 receives status 120. When status 120 indicates the scan job 302 is done, user device 102 issues a file request 122 to cloud document service 110. In particular, controller 202 generates file request 122, for example in response to input from user 104, and transmitter 212 transmits request 122 to cloud document service 110.

FIG. 8 shows a process for cloud scanning system 700 of FIG. 7 according to one embodiment. Although in the described embodiments the elements of the process are presented in one arrangement, other embodiments may feature other arrangements. For example, in various embodiments, some or all of the elements of the process can be executed in a different order, concurrently, and the like.

Referring to FIG. 8, user 104 employs user device 102 to select a scan operation at 802. In response, an application executing on controller 202 of user device 102 gets a list of available scanners 108 registered for user 104 from cloud print service 106 at 804. The application determines which of the scanners 108 are capable of scanning, and displays a list of those scanners 108 to user 104 at 806. In this embodiment, the list includes at least one legacy scanner 708 and print proxy 712. User 104 employs user device 102 to select a legacy scanner 708 from the list at 808. In response, user device 102 formats print job 302 at 810, and submits print job 302 to cloud print service 106 at 812.

Print proxy 712 polls for new print jobs 302 by fetching a list of print jobs 302 from cloud print service 106 at 814. When the list includes a new print job 302 for legacy scanner 708, print proxy 712 gets the new print job 302 from cloud print service 106 at 816. At 818, print proxy 712 determines that the print job 302 is a scan job 302 using the token(s) 316 in the print job title 314. Print proxy 712 then causes legacy scanner 708 to scan the document according to instructions 306 at 820, places the resulting image(s) 124 in an image file 118, assigns file name 310 to the image file 118, and sends the image file 118 to cloud document service 110 at 822. At 824 print proxy 712 sends a status 120 to cloud print service 106 indicating that the scan job 302 is done.

User device 102 polls cloud print service 106 to obtain status 120. In response to the status 120 indicating that the scan job 302 is done, user device 102 gets image file 118 from cloud document service 110 using file name 310 at 828, and displays image(s) 124 to user 104 at 830.

Various embodiments of the present disclosure can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof. Embodiments of the present disclosure can be implemented in a computer program product tangibly embodied in a computer-readable storage device for execution by a programmable processor. The described processes can be performed by a programmable processor executing a program of instructions to perform functions by operating on input data and generating output. Embodiments of the present disclosure can be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, processors receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer includes one or more mass storage devices for storing data files. Such devices include magnetic disks, such as internal hard disks and removable disks, magneto-optical disks; optical disks, and solid-state disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).

A number of implementations have been described. Nevertheless, various modifications may be made without departing from the scope of the disclosure. Accordingly, other implementations are within the scope of the following claims. 

1. An apparatus comprising: a controller configured to generate a cloud scan request, wherein the cloud scan request represents a request to scan a document using cloud services; a transmitter configured to transmit the cloud scan request to a cloud print service; and a receiver configured to receive an image file from a cloud document service, wherein the file includes an image of the document.
 2. The apparatus of claim 1, wherein: the cloud scan request includes a file name for the image file, and a request to transmit the image file to the cloud document service; and the transmitter is further configured to transmit a file request to the cloud document service, wherein the file request includes the file name for the image file and a request to send the image file to the apparatus.
 3. The apparatus of claim 1, wherein: the cloud print service enables an application on a device in a network cloud to print to a printer in the network cloud.
 4. The apparatus of claim 1, wherein: the controller is further configured to select a scanner connected to the cloud print service; and the cloud document service transmits the cloud scan request to at least one of the scanner, and a print proxy connected to the scanner.
 5. The apparatus of claim 1, wherein: the cloud document service enables an application on a device in a network cloud to transfer files such as document files to and from a storage device in the network cloud.
 6. The apparatus of claim 1, wherein: the cloud scan request includes a print job and a token, wherein the token indicates the print job is a scan job, wherein the print job includes an instruction file, and wherein the instruction file includes instructions for scanning the document.
 7. The apparatus of claim 1, further comprising: a user interface configured to receive a user request to scan the document using cloud services; wherein the controller is further configured to generate the cloud scan request responsive to the user request.
 8. A user device comprising the apparatus of claim
 1. 9. A method comprising: generating a cloud scan request responsive to a user request, wherein the cloud scan request represents a request to scan a document using cloud services; transmitting the cloud scan request to a cloud print service; and receiving an image file from a cloud document service, wherein the image file includes an image of the document.
 10. The method of claim 9, wherein: the cloud scan request includes a file name for the image file, and a request to transmit the image file to the cloud document service; and the method further comprises transmitting a file request to the cloud document service, wherein the file request includes the file name for the image file and a request to send the image file to a user device.
 11. The method of claim 9, wherein: the cloud print service enables an application on a device in a network cloud to print to a printer in the network cloud.
 12. The method of claim 9, further comprising: selecting a scanner connected to the cloud print service; wherein the cloud document service transmits the cloud scan request to at least one of the scanner, and a print proxy connected to the scanner.
 13. The method of claim 9, wherein: the cloud document service enables an application on a device in a network cloud to transfer files such as document files to and from a storage device in the network cloud.
 14. The method of claim 9, wherein: the cloud scan request includes a print job and a token, wherein the token indicates the print job is a scan job, wherein the print job includes an instruction file, and wherein the instruction file includes instructions for scanning the document.
 15. Computer-readable media embodying instructions executable by a computer to perform functions comprising: generating a cloud scan request responsive to a user request, wherein the cloud scan request represents a request to scan a document using cloud services; transmitting the cloud scan request to a cloud print service; and receiving an image file from a cloud document service, wherein the image file includes a scan of the document.
 16. The computer-readable media of claim 15, wherein: the cloud scan request includes a file name for the image file, and a request to transmit the image file to the cloud document service; and the method further comprises transmitting a file request to the cloud document service, wherein the file request includes the file name for the image file and a request to send the file to a user device.
 17. The computer-readable media of claim 15, wherein: the cloud print service enables an application on a device in a network cloud to print to a printer in the network cloud.
 18. The computer-readable media of claim 15, further comprising: selecting a scanner connected to the cloud print service; and wherein the cloud document service transmits the cloud scan request to at least one of the scanner, and a print proxy connected to the scanner.
 19. The computer-readable media of claim 15, wherein: the cloud document service enables an application on a device in a network cloud to transfer files such as document files to and from a storage device in the network cloud.
 20. The computer-readable media of claim 15, wherein: the cloud scan request includes a print job and a token, wherein the token indicates the print job is a scan job, wherein the print job includes an instruction file, and wherein the instruction file includes instructions for scanning the document. 